import config from '@/request/config.js';
import * as api from '@/request/app.js'; // 引入api 方法
const update = {
	checkUpdate(handUpdate) {
		// console.log('========检查更新======');
		var _this = this;
		var client_type = plus.os.name == "Android" ? 1 : 2;
		var current_version = 0;
		// var apiurl = config.baseURL + "/download/index.php";
		var response = "";
		plus.runtime.getProperty(plus.runtime.appid, async function(inf) {
			
			const ret = await api.getHomeindex()
			if(ret.code == 1){
				current_version = inf.versionCode;
				console.log("版本号", current_version,api)
				if(current_version != ret.data.version){
					plus.nativeUI.confirm("系统检测到更新,是否更新",
						function(e) {
							console.error(e,'eeeeeeeeeeeeeeee');
							if (e.index == 0) {
								_this.install('android.apk');
							}
						}, {
							"buttons": ["立即更新", ],
							"verticalAlign": "center"
						})
				}
			}
			console.error(ret.data.version,'retretretret');
			
		});
	},
	install(fileUrl) {
		
		// 创建更新任务
		const dtask = plus.downloader.createDownload(config.serveURL +fileUrl , {
			filename: "_doc/update/"
		}, function(d, status) {
			if (status == 200) {
				plus.runtime.install(d.filename, {
					force: true
				}, function() {
					plus.nativeUI.closeWaiting();
					plus.nativeUI.alert("应用资源更新完成！", function() {
						plus.runtime.restart();
					});
				}, function(e) {
					plus.nativeUI.closeWaiting();
					console.log("安装文件失败[" + e.code + "]：" + e.message);
				});
			} else {
				console.log("下载失败！");
			}
			plus.nativeUI.closeWaiting();
		})
		// 监听更新进度
		let prg = 0;
		const showLoading = plus.nativeUI.showWaiting("更新中...");
		dtask.start();
		dtask.addEventListener("statechanged", function(task, status) {
			switch (task.state) {
				case 1:
					showLoading.setTitle("正在下载");
					break;
				case 3:
					prg = parseInt(
						(parseFloat(task.downloadedSize) /
							parseFloat(task.totalSize)) *
						100
					);
					showLoading.setTitle("  正在下载" + prg + "%  ");
					break;
				case 4:
					plus.nativeUI.closeWaiting();
					break;
			}
		});
	},

	// 小程序更新
	wxUpdate() {
		const updateManager = uni.getUpdateManager();
	
		updateManager.onCheckForUpdate(function(res) {
			// 请求完新版本信息的回调
			console.log(res.hasUpdate);
		});
	
		updateManager.onUpdateReady(function(res) {
			uni.showModal({
				title: '更新提示',
				content: '新版本已经准备好，是否重启应用？',
				success(res) {
					if (res.confirm) {
						// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
						updateManager.applyUpdate();
					}
				}
			});
	
		});
	
		updateManager.onUpdateFailed(function(res) {
			// 新的版本下载失败
		});
	}

}
export default update